package top.hmtools.makedata.random;

public enum ERandom {

	/**
	 * 随机生成整数
	 */
	random_integer(new RandomInteger()),

	/**
	 * 随机获取float浮点数
	 */
	random_float(new RandomFloat()),
	
	/**
	 * 随机获取double浮点数
	 */
	random_double(new RandomDouble()),
	
	/**
	 * 随机生成输入流
	 */
	random_inputstream(new RandomInputStream()),
	
	/**
	 * 随机生成字节数组
	 */
	random_bytes(new RandomBytes()),
	
	/**
	 * 随机布尔值
	 */
	random_boolean(new RandomBoolean()),
	
	/**
	 * 随机生成日期
	 */
	random_datetime(new RandomDatetime()),
	/**
	 * 随机生成身份证号码
	 */
	random_id_card_number_cn(new RandomIdCardNumberCN()),
	
	/**
	 * 随机生成一个汉字
	 */
	random_char_cn(new RandomCharCN()),

	/**
	 * 随机生成一个英文名字
	 */
	random_name_en(new RandomEnglishName()),
	
	/**
	 * 随机生成一个中文姓名
	 */
	random_name_cn(new RandomChineseName()),
	
	/**
	 * 随机生成长整型
	 */
	random_long(new RandomLong())
	;
	
	private IRandom<?> random; 
	
	private  ERandom(IRandom<?  extends Object> rd){
		this.random = rd;
	}

	public IRandom<?> getRandom() {
		return random;
	}
	
}
